The present invention is related to computer systems, and in particular to data transfer between devices.
In a number of applications, microprocessors or microcontrollers operate by executing software stored in external memory. The speed at which the microcontroller can access software stored in the external memory determines, in part, the performance of the microcontroller. For example, a microcontroller may have to execute a plurality of individual read operations from external memory in order to execute an application. The time associated with reads to the external memory therefore affects the overall performance of the microcontroller. To minimize the time required to read from external memory, some devices support burst transfers, in which a burst read request results in the external memory providing not only the data associated with the address provided as part of the data burst read request but also data associated with subsequent and contiguous addresses. Although data retrieved with respect to the address provided as part of the data burst read request requires the same amount of time as a single data read request, data reads associated with subsequent and contiguous addresses are performed more quickly.
However, not all memory devices support data burst read requests. For example, most flash memory devices do not support data burst read operations. In applications utilizing flash memory devices, the benefits associated with data burst reads are unrealized.